package java集合.HashMap;

import lombok.Data;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;

@Data
public class UserDemo {

    private String name;

    private int age;

    public UserDemo(String name, int age) {
        this.name = name;
        this.age = age;
    }

    public static void main(String[] args) {
        List<UserDemo> list=new ArrayList<>();
        list.add(new UserDemo("张三",6));
        list.add(new UserDemo("张三",8));
        list.add(new UserDemo("李四",2));
        list.add(new UserDemo("王五",10));
        /**
         * 若map中不存在对应的key则新增
         * 若map中存在对应的key，则执行一个方法该方法接收key的旧值和传入的value，执行自定义的方法返回最终结果设置为key的值
         */
        HashMap<String, Integer> hashMap = new HashMap<>();
        //v.getName()：作为key     v.getAge()：作为传入的value      Integer::sum：作为一个方法，返回一个结果，并赋值给key
        list.stream().forEach(v->hashMap.merge(v.getName(), v.getAge(),Integer::sum));
        System.out.println(hashMap);
    }

}
